package com.ctshk.rpc.hotel.dto;

import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * <p>
 * 酒店票订单列表dto
 * </p>
 */
@Data
@ApiModel(value="HotelOrderPageDto对象", description="酒店票订单列表dto")
public class HotelOrderPageDTO implements Serializable {

    @ApiModelProperty(value = "酒店订单id")
    private Long id;

    @JsonIgnore
    @ApiModelProperty(value = "酒店产品id", hidden = true)
    private Long hotelProductId;

    @ApiModelProperty(value = "是否外挂单")
    private Integer isManual;

    @ApiModelProperty(value = "销售单号")
    private String orderNumber;

    @ApiModelProperty(value = "产品类型")
    private String productType;

    @ApiModelProperty(value = "酒店名称")
    private String hotelName;

    @ApiModelProperty(value = "房间名称")
    private String roomName;

    @ApiModelProperty(value = "产品名称")
    private String hotelProductName;

    @ApiModelProperty(value = "间夜")
    private String roomNight;

    @ApiModelProperty(value = "含早")
    private String hasBreakFast;

    @ApiModelProperty(value = "入住时间")
    private LocalDate checkInDate;

    @ApiModelProperty(value = "离店时间")
    private LocalDate checkOutDate;

    @ApiModelProperty(value = "订单金额")
    private BigDecimal orderAmount;

    @ApiModelProperty(value = "付款状态")
    private Integer paymentStatus;

    @ApiModelProperty(value = "预订状态")
    private Integer scheduledStatus;

    @ApiModelProperty(value = "付款到期时间,付款状态为代付款时需显示该字段")
    private LocalDateTime payExpireDate;

    @ApiModelProperty(value = "联系人姓名")
    private String contactName;

    @ApiModelProperty(value = "来源")
    private String source;

    @ApiModelProperty(value = "销售人员名称")
    private String salesmanName;

    @ApiModelProperty(value = "创建时间")
    private LocalDateTime gmtCreate;

}
